package com.yunkeji.api.moments.service;

import com.yunkeji.api.moments.bo.MomentsListBo;
import com.yunkeji.api.moments.bo.MomentsReplyBo;
import com.yunkeji.api.moments.bo.PubMomentsBo;
import com.yunkeji.api.moments.bo.ReplyListBo;
import com.yunkeji.api.moments.vo.MomentsListVo;
import com.yunkeji.api.moments.vo.ReplyVo;
import com.yunkeji.common.core.page.TableDataInfo;
import com.yunkeji.dao.domain.BaseId;

public interface MomentsService {
    /**
     * 朋友圈列表
     *
     * @author 老张
     */
    TableDataInfo<MomentsListVo> momentsList(MomentsListBo bo);

    /**
     * 发布朋友圈
     *
     * @author 老张
     */
    void pubMoments(PubMomentsBo pubMomentsBo);
    /**
     * 删除朋友圈
     *
     * @author 老张
     */
    void delMoments(BaseId baseId);
    /**
     * 删除回复
     *
     * @author 老张
     */
    void delReply(BaseId baseId);
    /**
     * 点赞朋友圈
     *
     * @author 老张
     */
    void likeMoments(BaseId baseId);
    /**
     * 点赞回复
     *
     * @author 老张
     */
    void likeReply(BaseId baseId);
    /**
     * 回复朋友圈
     *
     * @author 老张
     */
    void replyMoments(MomentsReplyBo pubMomentsBo);

    /**
     * 回复恢复
     *
     * @author 老张
     */
    void replyReply(MomentsReplyBo pubMomentsBo);

    /**
     * 回复列表
     *
     * @author 老张
     */
    TableDataInfo<ReplyVo> replyList(ReplyListBo bo);
    /**
     * 回复列表详情
     *
     * @author 老张
     */
    TableDataInfo<ReplyVo> replyDetailList(ReplyListBo bo);
}
